Configurable application properties. More...
#include <kanzi/core.ui/application/application_properties.hpp>
Classes | |
class | FontEngineHasher |
Class that provides the hash operator for the FontEngine enumeration. More... | |
struct | ImageLoadParameters |
Parameters that Kanzi passes to third-party image libraries when loading image files. More... | |
struct | Slog2Config |
User configurable parameters for slogger2. Default values are set in the ApplicationProperties constructor. More... | |
Public Types | |
enum class | FontEngine { None , FreeType , IType } |
Specifies the font engine to load at application startup to render the text in your application. More... | |
enum | HandleGPUResources { NoHandling , Invalidate , Destroy } |
Sets how an application handles GPU resources in the paused state. More... | |
enum | PerformanceInfoLevel { PerformanceInfoLevelDisabled , PerformanceInfoLevelFPS , PerformanceInfoLevelFull } |
Performance info level. More... | |
Public Member Functions | |
ApplicationProperties () | |
Constructor. | |
Public Attributes | |
bool | applicationIdleStateEnabled |
When an application is in the idle state, if there are no changes in the node tree and rendering is not necessary, the application main loop waits for events, such as input. | |
string | binaryName |
Path to either the binary config file listing all .kzb files that are loaded to project, or a path to a single .kzb file. | |
NativeDesktopProperties | defaultDesktopProperties |
Default properties for desktop. | |
EventSourceProperties | defaultEventSourceProperties |
Default properties for the event sources. | |
KzsSurfaceProperties | defaultSurfaceProperties |
Default properties for the surfaces of the windows. | |
NativeWindowProperties | defaultWindowProperties |
Default properties for application windows. | |
chrono::nanoseconds | deploymentQueueBudget |
The time allocated per frame for processing the deployment queue. | |
bool | extensionOutputEnabled |
Indicates whether the list of graphics related extensions printed when launching the application. | |
FontEngine | fontEngine |
The font engine to load at application startup. | |
unordered_map< FontEngine, string, FontEngineHasher > | fontEngineDictionaryUrls |
Optional lists of resource URLs that point to dictionaries that the font engines use. | |
int | frameRateLimit |
Framerate limit as frames per second. | |
unsigned int | glyphCacheHeight |
Height of the textures created for glyph caches. | |
unsigned int | glyphCacheWidth |
Width of the textures created for glyph caches. | |
bool | graphicsLoggingEnabled |
Indicates whether graphics API calls should be logged, useful for debugging. | |
HandleGPUResources | handleGPUResources |
Handling of GPU resources when the application is paused. | |
ImageLoadParameters | imageLoad |
Parameters that Kanzi passes to third-party image libraries when loading image files. | |
bool | informationOutputEnabled |
Indicates whether the list of graphics related information printed when launching the application, useful for debugging. | |
unsigned int | loadingThreadCount |
The number of background threads that are used to load resources. | |
optional< size_t > | mainLoopProfilingSampleBufferCount |
Main loop profiling sample buffer count. | |
unsigned int | maxPendingResources |
The maximum number of resources that can be processed by the loading threads at the same time. | |
MmapMode | mmapMode |
The chosen memory mapping mode. | |
vector< string > | moduleNames |
List of modules to load. | |
Renderer::RendererSettings::MultisamplePreference | multisamplePreference |
Multisample preference setting. | |
PerformanceInfoLevel | performanceInfoLevel |
Performance info display level. | |
PerformanceInfoProperties | performanceInfoProperties |
Properties of the performance info display. | |
string | profilingCategoryFilter |
Profiling category filter. | |
bool | propertyOutputEnabled |
Indicates whether the list of graphics related properties printed when launching the application, useful for debugging. | |
bool | shaderBinaryCacheCollisionCheck |
Indicates whether to check for hash collisions in shader binaries. | |
string | shaderBinaryCacheDirectory |
Shader binary cache directory. | |
bool | shaderBinaryCacheEnabled |
Indicates whether to cache shader binaries. | |
bool | shaderBinaryCacheReadOnly |
Indicates whether the cache is read-only. | |
Slog2Config | slog2Config |
User configurable options for slogger2 (QNX). | |
SystemConfiguration | systemConfiguration |
Platform-specific configuration parameters. | |
Configurable application properties.
Specifies the font engine to load at application startup to render the text in your application.
In a static build, you must statically link to the application the font engine that you want to load. In a dynamic build, Kanzi loads the font engine library that you request.
|
explicit |
Constructor.
NativeWindowProperties kanzi::ApplicationProperties::defaultWindowProperties |
Default properties for application windows.
KzsSurfaceProperties kanzi::ApplicationProperties::defaultSurfaceProperties |
Default properties for the surfaces of the windows.
NativeDesktopProperties kanzi::ApplicationProperties::defaultDesktopProperties |
Default properties for desktop.
EventSourceProperties kanzi::ApplicationProperties::defaultEventSourceProperties |
Default properties for the event sources.
ImageLoadParameters kanzi::ApplicationProperties::imageLoad |
Parameters that Kanzi passes to third-party image libraries when loading image files.
string kanzi::ApplicationProperties::binaryName |
Path to either the binary config file listing all .kzb files that are loaded to project, or a path to a single .kzb file.
vector<string> kanzi::ApplicationProperties::moduleNames |
List of modules to load.
int kanzi::ApplicationProperties::frameRateLimit |
Framerate limit as frames per second.
Set to 0 to disable limiting the framerate altogether.
The number of background threads that are used to load resources.
By default set to min(number of cores - 1, 3). Set to 0 to disable multithreaded loading and load everything in the main thread.
The maximum number of resources that can be processed by the loading threads at the same time.
The higher number can make the loading faster, but increases the peak memory usage during loading as more resources can be loaded to the memory before they are deployed to the GPU. If set to 0 (which is the default value), the value is set to the number of threads + 1.
chrono::nanoseconds kanzi::ApplicationProperties::deploymentQueueBudget |
The time allocated per frame for processing the deployment queue.
If the deployment queue is empty, no time will be spent. If set to 0 (which is the default value, a single item from the deployment queue will be processed each frame.
Width of the textures created for glyph caches.
Height of the textures created for glyph caches.
PerformanceInfoLevel kanzi::ApplicationProperties::performanceInfoLevel |
Performance info display level.
PerformanceInfoProperties kanzi::ApplicationProperties::performanceInfoProperties |
Properties of the performance info display.
bool kanzi::ApplicationProperties::extensionOutputEnabled |
Indicates whether the list of graphics related extensions printed when launching the application.
It is useful for debugging which extensions are supported by platform.
bool kanzi::ApplicationProperties::propertyOutputEnabled |
Indicates whether the list of graphics related properties printed when launching the application, useful for debugging.
bool kanzi::ApplicationProperties::informationOutputEnabled |
Indicates whether the list of graphics related information printed when launching the application, useful for debugging.
bool kanzi::ApplicationProperties::graphicsLoggingEnabled |
Indicates whether graphics API calls should be logged, useful for debugging.
string kanzi::ApplicationProperties::profilingCategoryFilter |
Profiling category filter.
Use profiling category filters to set the state for profiling categories:
Each filter token consists of category name and state separated with the equal sign (=). Use semicolons (;) to separate multiple filter tokens. For example:
"category1=on;category2=off"
To apply a setting for all profiling categories, use the asterisk (*). For example, to enable all categories:
"*=on"
The filter is evaluated from left to right, meaning that each setting overrides previous ones. For example, to disable all categories except category1:
"*=off;category1=on"
To set the same state for multiple categories, separate the categories with pipes (|). For example, to enable category1 and category2:
"category1|category2=on"
bool kanzi::ApplicationProperties::applicationIdleStateEnabled |
When an application is in the idle state, if there are no changes in the node tree and rendering is not necessary, the application main loop waits for events, such as input.
When you disable the application idle state, Kanzi extends this wait only until the next frame. When you enable the application idle state (the default setting), Kanzi waits until the application receives an event. Other threads may also post tasks to interrupt idle state.
optional<size_t> kanzi::ApplicationProperties::mainLoopProfilingSampleBufferCount |
Main loop profiling sample buffer count.
Optional override for the default size of sample buffers used by main loop profiling
FontEngine kanzi::ApplicationProperties::fontEngine |
The font engine to load at application startup.
The default value is FreeType.
unordered_map<FontEngine, string, FontEngineHasher> kanzi::ApplicationProperties::fontEngineDictionaryUrls |
Optional lists of resource URLs that point to dictionaries that the font engines use.
Separate the resource URLs with a semicolon.
MmapMode kanzi::ApplicationProperties::mmapMode |
The chosen memory mapping mode.
Slog2Config kanzi::ApplicationProperties::slog2Config |
User configurable options for slogger2 (QNX).
SystemConfiguration kanzi::ApplicationProperties::systemConfiguration |
Platform-specific configuration parameters.
See your platform documentation for details.
Renderer::RendererSettings::MultisamplePreference kanzi::ApplicationProperties::multisamplePreference |
Multisample preference setting.
bool kanzi::ApplicationProperties::shaderBinaryCacheEnabled |
Indicates whether to cache shader binaries.
By default, the application does not cache shader binaries.
bool kanzi::ApplicationProperties::shaderBinaryCacheReadOnly |
Indicates whether the cache is read-only.
By default, Kanzi updates the cache.
bool kanzi::ApplicationProperties::shaderBinaryCacheCollisionCheck |
Indicates whether to check for hash collisions in shader binaries.
By default, the application does not check for hash collisions.
string kanzi::ApplicationProperties::shaderBinaryCacheDirectory |
Shader binary cache directory.
HandleGPUResources kanzi::ApplicationProperties::handleGPUResources |
Handling of GPU resources when the application is paused.
The default value is: